﻿#region License


// Virtual Essentials - http://www.Virtual-Essentials.com
// Copyright (c) 2005-2013
// 
//  This program is free software: you can redistribute it and/or modify
//    it under the terms of the GNU General Public License as published by
//    the Free Software Foundation, either version 3 of the License, or
//    (at your option) any later version.
//
//    This program is distributed in the hope that it will be useful,
//    but WITHOUT ANY WARRANTY; without even the implied warranty of
//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//    GNU General Public License for more details.
//
//    You should have received a copy of the GNU General Public License
//    along with this program.  If not, see <http://www.gnu.org/licenses/>.

#endregion
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using DotNetNuke.Entities.Modules;
using DotNetNuke.Entities.Modules.Definitions;
using DotNetNuke.Security.Permissions;

namespace VirtualEssentials.DNN.Modules.Testimonials.Controller
{
    class ModuleSecurity
    {
        // Constants 
        public const string PERMISSIONCODE = "VE_TESTIMONIALS";
        public const string PERMISSION_ADD = "ADDTESTIMONIAL";
        public const string PERMISSION_VIEW = "VIEWTESTIMONIAL";
        public const string PERMISSION_PUBLISH = "PUBLISHTESTIMONIAL";

        // private variables 
        private bool _permissionAdd;
        private bool _permissionView;
        private bool _permissionPublish;

        public ModuleSecurity(ModuleInfo moduleInfo)
        {
            ModulePermissionCollection permCollection = moduleInfo.ModulePermissions;
            _permissionAdd =
              ModulePermissionController.HasModulePermission(permCollection, PERMISSION_ADD);
            _permissionView =
             ModulePermissionController.HasModulePermission(permCollection, PERMISSION_VIEW);
            _permissionPublish =
             ModulePermissionController.HasModulePermission(permCollection, PERMISSION_PUBLISH);
        }

        public bool HasAddTestimonialPermission
        {
            get { return _permissionAdd; }
        }

        public bool HasViewTestimonialPermission
        {
            get { return _permissionView; }
        }

        public bool HasPublishTestimonialPermission
        {
            get { return _permissionPublish; }
        } 
    }
}
